/*
 * Paddle.h
 *
 *  Created on: Nov 18, 2010
 *      Author: timmeh
 */

#ifndef PADDLE_H_
#define PADDLE_H_

#include "MovableEntity.h"


namespace bo {

/**
 * Base paddle class, provides all the functionality to make the paddle move
 */
class Paddle: public bo::MovableEntity {
public:
	Paddle();
	virtual ~Paddle();
	virtual void Visualize() = 0;
	double GetRadius();
	void SetRadius(double);
	virtual void SetSprite(const char*, const double) = 0;
	Vector2 GetPos();
	void SetPos(double, double);
	void SetSingleVelocity(const double vel);
	void UpdatePos(int direction);
private:
	double fRadius;
	Vector2 fPos;
	double fVelocity;
};

}

#endif /* PADDLE_H_ */
